require("lualib_bundle");
__TS__SourceMapTraceBack(debug.getinfo(1).short_src, {["4"] = 1,["5"] = 1,["6"] = 3,["7"] = 5,["8"] = 5,["9"] = 6,["10"] = 7,["11"] = 8,["13"] = 9,["14"] = 5,["15"] = 5,["16"] = 3,["17"] = 16,["18"] = 17,["19"] = 18,["21"] = 19,["22"] = 19,["23"] = 20,["24"] = 21,["25"] = 21,["27"] = 19,["30"] = 23,["31"] = 16,["32"] = 26,["33"] = 30,["35"] = 32,["36"] = 32,["37"] = 32,["38"] = 32,["41"] = 26});
local ____exports = {}
local ____common = require("solar.w3ts.tsx.basic_pragma.common")
local isLua = ____common.isLua
____exports.getLength = function(____, arr) return isLua and __TS__ArrayReduce(
    __TS__ObjectKeys(arr),
    function(____, max, key)
        local keyAsNumber = __TS__ParseInt(key)
        if type(keyAsNumber) == "number" then
            return max > keyAsNumber and max or keyAsNumber
        end
        return max
    end,
    0
) or #arr end
____exports.compact = function(____, arr)
    local length = ____exports.getLength(nil, arr)
    local newArr = {}
    do
        local i = 0
        while i < length do
            local val = arr[i + 1]
            if val ~= nil then
                __TS__ArrayPush(newArr, val)
            end
            i = i + 1
        end
    end
    return newArr
end
____exports.forEach = function(____, arr, fn)
    local length = ____exports.getLength(nil, arr)
    do
        local i = 0
        while i < length do
            fn(nil, arr[i + 1], i)
            i = i + 1
        end
    end
end
return ____exports
